오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
함수 요약

엑셀 IF 함수는 조건의 참/거짓을 판단하여 다른 결과를 반환하는 논리 함수입니다.

함수 구문
=IF(논리식, 참일 때 값, [거짓일 때 값])
논리식
-
참 또는 거짓을 판단할 조건입니다.
  • 연산자(>, <, = 등)나 와일드카드를 사용하여 다양한 논리식을 작성할 수 있습니다.
참일 때 값
-
논리식이 참일 경우 반환할 값입니다.
  • 값 또는 수식을 직접 작성하거나, 다른 셀을 참조할 수 있습니다.
거짓일 때 값
-
[선택인수]논리식이 거짓일 경우 반환할 값입니다.
  • 값 또는 수식을 직접 작성하거나, 다른 셀을 참조할 수 있습니다.
  • 생략 시 기본값으로 FALSE를 반환합니다.
상세 설명

엑셀 IF 함수는 지정된 조건의 참/거짓을 판단하여 그에 따른 결과값을 반환하는 논리 함수로, VLOOKUP 함수와 함께 현업에서 가장 많이 사용되는 엑셀 대표 함수 중 하나입니다.

=IF(논리식, 참일 때 값, [거짓일 때 값])

AND 함수OR 함수, 그리고 여러 개의 IF 함수를 중첩으로 사용해서 다중 조건을 비교하는 공식을 작성할 수 있습니다.

=IF(AND(조건1, 조건2), 참일 때 값, [거짓일 때 값])
/ / 조건1과 조건2를 모두 만족하는 경우를 비교합니다.
=IF(OR(조건1,조건2),참일 때 값, [거짓일 때 값])
/ / 조건1 또는 조건2 중 하나라도 만족하는 경우를 비교합니다.
=IF(조건1,결과1,IF(조건2,결과2,결과3))
/ /각 조건에 따라 다른 결과를 출력합니다.

다중 조건 IF 함수의 보다 자세한 설명과 기초 이론은 아래 영상 강의를 참고하세요!👇


IF 함수 간단 예제
1) 달성 여부 판정하기

아래 공식을 사용하면 실적이 40점 이상일 경우 "달성"을, 그렇지 않으면 공란을 반환합니다.

=IF(D8>=40,"달성","")
/ / D8셀의 40점 이상인 경우 "달성"을 출력합니다.
엑셀 IF 함수 기초 사용법
IF 함수를 사용해 판매실적이 40 이상일 경우 '달성'을 출력합니다.
2) 성과급 계산하기

다음과 같이 수식을 작성하면, 매출액이 100만원을 초과한 경우 초과한 금액의 10%를 성과급으로 지급하고 그렇지 않으면 0을 반환합니다.

=IF(A1>1000000,(A1-1000000)*10%,0)
/ / 매출이 100만원 이상인 경우, 초과 금액의 10%를 성과급으로 계산합니다.
3) 여러 조건을 동시에 비교하기

여러 조건을 동시에 비교해야 할 경우, 논리식에 AND 함수를 응용합니다. 예를 들어, 다음과 같이 수식을 작성하면, 담당부서가 영업1팀 '이고 그리고' 판매실적이 40 이상일 경우에만 "달성"을 출력합니다.

=IF(AND(B8="영업1팀",D8>=40),"달성","")
/ / 담당부서가 영업1팀이고 실적이 40 이상인 경우 "달성"을 표시합니다.
IF 함수 여러개 조건 동시 만족 AND 조건
담당부서와 판매실적 2개의 조건을 모두 만족할 경우 '달성'을 출력합니다.

동일한 원리로 OR 함수를 응용하면 여러 조건 중 하나라도 만족하는 경우를 비교할 수 있습니다.

=IF(OR(B8="영업1팀",B8="영업2팀"),"참석","")
/ / 부서가 '영업1팀' 이거나 '영업2팀'인 경우 참석을 출력합니다.
IF함수 여러개 조건 OR
영업1팀 또는 영업2팀일 경우 '참석'을 출력합니다. (OR조건)
4) 연령대 구분하기 (다중 조건 IF 함수)

다음과 같이 IF 함수를 중첩으로 사용해서 연령대를 구분할 수 있습니다.

=IF(A1<20,"10대",IF(A1<30,"20대",IF(A1<40,"30대","40대 이상")))
/ / 나이에 따라 10대, 20대, 30대, 40대 이상으로 구분합니다.

자주 묻는 질문
1) IF 함수로 조건을 만족하는 값의 합계를 구할 수 있나요?

조건을 만족하는 값의 합계는 SUMIF 함수로 편리하게 계산할 수 있습니다.

=SUMIF(A1:A10,"과일",B1:B10)
/ / A1:A10의 값이 과일일 경우 B1:B10의 합계를 구합니다.

하지만 SUMIF 함수는 인수로 '범위'만 입력할 수 있어, 배열로 복잡한 조건을 비교해야 할 경우 제약이 있습니다. 이러한 경우, IF 함수와 SUM 함수를 배열 수식으로 작성하면 다양한 조건을 비교하여 합계를 구할 수 있습니다.

{=SUM(IF(B8:B16="영업1팀",D8:D16,0))}
/ /부서가 영업1팀인 경우 실적 합계를 구합니다.
/ /엑셀 2019 이전 버전에서는 Ctrl + Shift + Enter로 입력합니다.
엑셀 IF 함수 조건별 합계 배열함수
IF 함수와 SUM 함수를 응용하면 더욱 다양한 방법으로 조건별 합계를 구할 수도 있습니다.
2) IF 함수로 조건을 만족하는 경우의 최대값을 구할 수 있나요?

엑셀 2016 이후 버전에서 제공되는 MAXIFS 함수를 사용하면 조건을 만족하는 최대값을 편리하게 구할 수 있습니다.

=MAXIFS(최대값범위, 조건범위, 조건)

만약 엑셀 2013 이전 버전을 사용 중이라면, 다음과 같이 IF 함수와 MAX 함수를 활용한 배열 수식으로 조건을 만족하는 최대값을 계산합니다.

{=MAX(IF(B8:B16="영업1팀",D8:D16,0))}
/ / 영업1팀 실적 중 최대값을 구합니다.
/ / 엑셀 2019 이전 버전에서는 Ctrl + Shift + Enter로 입력합니다.
엑셀 조건별 최대값 구하기 IF 함수
엑셀 2016 이전 버전 사용자의 경우 IF 함수를 배열수식으로 응용하여 조건별 최대값을 구합니다.

그 외 주의사항

IF 함수의 논리식과 결과에 범위를 입력하여 배열 수식으로 사용할 수 있습니다. 예를 들어, 다음과 같이 IF 함수를 작성하면, "영업팀"의 성과급이 한 번에 계산됩니다.

/ / 부서 : {인사팀,영업팀,영업팀,IT팀,영업팀}
/ / 급여 : {100,200,300,400,500}
=IF(부서="영업팀",급여*10%,0)
=IF({인사팀,영업팀,영업팀,IT팀,영업팀}="영업팀",{100,200,300,400,500}*10%,0)
={0,20,30,0,50}

너무 많은 중첩 IF를 사용하면 수식이 복잡해져 유지보수가 어려워질 수 있습니다. 이러한 경우, SWITCH 함수VLOOKUP 함수 사용을 고려할 수 있습니다.

텍스트를 비교할 때는 대소문자를 구분하지 않습니다. 대소문자를 구분해야 할 경우 EXACT 함수를 사용합니다.


댓글 42
5 (28개 평가)
안개미로
안개미로 2020.04.09 08:50
고맙습니다
박상하
박상하 2020.04.14 22:23
안녕하세요 질문이 있습니다. if 에서 조건문을 작성하려할떄 해당 셀에 들어있는 정보가 다른 열에 있는 들어있으면 참, 아니면 거짓으로 해서 적용을 해보려고 했는데요. 예를 들어 =if(해당셀=Sheet2!B:B,1,0) 이런식으로 작성해 봤는데 1이 떠야하는 참 식인데도 0이 떠서... 작동을 하지 않습니다. 조언을 구하고 싶습니다.

감사합니다!
오빠두엑셀
오빠두엑셀 작성자 2020.04.15 18:12
안녕하세요?^^
만약 IF함수의 조건으로 "셀=B:B" 을 입력하실경우, 배열이 입력되므로 배열수식으로 입력해주셔야 합니다. (Ctrl + Shift + Enter)
질문을 보았을 때, IF 함수를 아래와 같이 입력하시는게 맞을듯 합니다^^
=IF(COUNTIF(범위,셀)>0,1,0)

제시해드린 답변이 도움이 되셨길 바랍니다.
감사합니다.
박상하
박상하 2020.04.16 04:13
감사합니다. 적용해봤더니 바로 되네요. 아직 배열이 된다는 이야기가 잘 이해가 안가는데 더 배워야 겠네요!
둥이아범
둥이아범 2020.04.26 07:48
안녕하세요.. 왕초보 질문이 있습니다. 혹시 조건을 만족하면 셀 배경 색깔을 바꿀수도 있나요?
예를 들어 if(A1>0,"A1의배경색 파랑","A1의 배경색 빨강") 이런것도 가능한가요?
오빠두엑셀
오빠두엑셀 작성자 2020.04.26 23:46
안녕하세요?
IF함수와 엑셀 내장함수만으로는 불가능합니다 ^^;
매크로를 사용해서 셀의 배경색상을 가져오는 사용자지정함수를 반드시 사용하셔야 합니다.
엘린꼬마
엘린꼬마 2020.04.26 16:55
자료 감사합니다.
hanahh
hanahh 2020.04.28 20:35
if공식 활용해서 표를 만들었는데 총합을 구할려고 sum을 사용하려니까 값이 0으로만 나옵니다. 왜 이러는 거죠?
오빠두엑셀
오빠두엑셀 작성자 2020.04.29 12:44
안녕하세요?^^
적어주신 내용만으로는 답변을 드리기 어렵겠습니다.
=ISNUMBER(IF 함수로 나온 결과값)

위 함수를 사용해서 IF함수 결과값이 숫자인지 확인해보시겠어요? ^^ 숫자가 아닐경우 VALUE 함수와 TRIM함수를 사용하여 숫자형식으로 변경해주셔야 합니다.
답변이 도움이 되셨길 바랍니다.
감사합니다.
박태현
박태현 2020.05.06 15:36
안녕하십니까

궁금한게 있어서 이렇게 댓글을 남기게 되었습니다.

If 함수를 써서 그 셀안에 제가 원하는 부분만 지울 수 있을까요? 예를 들면 , "D1/D2 -> D1" 에서 "->" 앞에 글을 지우고 싶습니다. 그래서 결과가 D1만 남게 하고 싶습니다.

감사합니다.
오빠두엑셀
오빠두엑셀 작성자 2020.05.06 22:06
안녕하세요?^^
가능합니다. LEFT 함수와 FIND 함수를 이용하시면 되는데요. 아래 공식을 사용해보시기 바랍니다.^^
=LEFT(셀,FIND("->",셀)+2)

제시해드린 답변이 도움이 되셨길 바랍니다.
감사합니다
뿌까뿌가
뿌까뿌가 2020.07.01 11:37
차근차근 해보겠습니다.아직 100프로 이해가 안되네요
프롭
프롭 2020.08.16 19:03
안녕하세요.
글자수가 150개이상이면 no 아니면 yes /// 콤마수가 40개 이상이면 no 아니면 yes를 하고 싶습니다.
LEN 함수 | LEN - LEN(SUBSTITUTE로 각각 은 구현했는데..이걸 한 셀에 넣고 싶어서 if문을 쓰자니 각각의 결과값이 표기되어야 하는데 다중조건을 쓰자니 하나가 no이면 결과값이 그냥 no라 어느게 많은지 확인이 안되네요..

2개의 조건 2개의 결과가 서로 독립되었으면 합니다. 어떻게 하는지 알 수 있을까요?
오빠두엑셀
오빠두엑셀 작성자 2020.08.17 07:53
안녕하세요?
2개의 결과가 서로 독립되었으면 합니다. <- 이 내용은 각 조건에 따라 2개의 결과를 출력하고 싶단 말씀이신가요? ^^; 그러시다면 함수 두개를 각각 다른셀에 입력하면 되는데, 한 셀에 넣으시려는 이유가 무엇인가요?
결과값으로 Yes / Yes 이런 식으로 표시하려고 하시는건가요?
만약 그러시다면,
IF(콤마수40개이상),"No","Yes") & "/" & IF(글자수150개이상),"No","Yes")
로 수식을 작성해보시길 바랍니다.
프롭
프롭 2020.08.18 16:17
안그래도 시트가 길어지고 있어서 ㅠ 어떻게든 줄여보고자 했습니다.;; 쉬운일인줄 알고 그렇게 해보고 있던건데 생각보다 쉽지 않더라구요.
=IF(LEN(D1)-LEN(SUBSTITUTE(D1,",",""))>40,"No","Yes") & "/" & IF(LEN(D1)>150),"No","Yes")
조언 주신대로 이렇게 해봤는데 수식에 오류가 있어서 안되네요 ㅠ 그냥 그래도 답변주셔서 감사합니다.
오빠두엑셀
오빠두엑셀 작성자 2020.08.18 16:57
안녕하세요?
수식을 아래와 같이 변경해보세요.
=IF(LEN(D1)-LEN(SUBSTITUTE(D1,",",""))>40,"No","Yes") & "/" & IF(LEN(D1)>150,"No","Yes")
프롭
프롭 2020.08.19 15:29
어 알려주시는데로 해보니 되네요;; 두번째 수식에서 ) 문제가 있었나봐요. 저는 아무리 찾아봐도 눈에 안들어오던데 감사합니다 ㅠ 이번에 섹셀 많이 만지고 있는데 덕분에 많이 해결하고 있습니다!
구니
구니 2020.09.03 23:56
깔끔하고 쉬운 설명, 이글보고 가입합니다.
설기
설기 2020.10.07 18:33
설명 감사합니다! 하나씩 해보니 재미있네용